package com.muyu.danmo.mapper;


import com.muyu.danmo.domain.DanmoCollectDoor;
import com.muyu.danmo.domain.DanmoCollectShellfish;
import com.muyu.danmo.domain.DanmoCollectWorks;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 拾贝信息Mapper接口
 *
 * @author yangle
 * @date 2024-10-30
 */
public interface DanmoCollectShellfishMapper
{
    /**
     * 查询拾贝信息
     *
     * @param id 拾贝信息主键
     * @return 拾贝信息
     */
    public DanmoCollectShellfish selectDanmoCollectShellfishById(Long id);

    /**
     * 查询拾贝信息列表
     *
     * @param danmoCollectShellfish 拾贝信息
     * @return 拾贝信息集合
     */
    public List<DanmoCollectShellfish> selectDanmoCollectShellfishList(DanmoCollectShellfish danmoCollectShellfish);

    /**
     * 新增拾贝信息
     *
     * @param danmoCollectShellfish 拾贝信息
     * @return 结果
     */
    public int insertDanmoCollectShellfish(DanmoCollectShellfish danmoCollectShellfish);

    /**
     * 修改拾贝信息
     *
     * @param danmoCollectShellfish 拾贝信息
     * @return 结果
     */
    public int updateDanmoCollectShellfish(DanmoCollectShellfish danmoCollectShellfish);

    /**
     * 删除拾贝信息
     *
     * @param id 拾贝信息主键
     * @return 结果
     */
    public int deleteDanmoCollectShellfishById(Long id);

    /**
     * 批量删除拾贝信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDanmoCollectShellfishByIds(Long[] ids);

    /**
     * 批量删除拾贝门头照
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDanmoCollectDoorByShellfishIds(Long[] ids);

    /**
     * 批量新增拾贝门头照
     *
     * @param danmoCollectDoorList 拾贝门头照列表
     * @return 结果
     */
    public int batchDanmoCollectDoor(List<DanmoCollectDoor> danmoCollectDoorList);


    /**
     * 通过拾贝信息主键删除拾贝门头照信息
     *
     * @param id 拾贝信息ID
     * @return 结果
     */
    public int deleteDanmoCollectDoorByShellfishId(Long id);

    void danmoCollectWorksListAdd(@Param("list") List<DanmoCollectWorks> danmoCollectWorksList);

    void danmoCollectDoorListAdd(@Param("list") List<DanmoCollectDoor> danmoCollectDoorList);

    void deleteDanmoCollectWoorsByShellfishId(Long id);

    void insetrDanmoCollectWoors(@Param("list") List<DanmoCollectWorks> danmoCollectWorksList);

    void deleteDanmoCollectWoorsByShellfishIds(@Param("ids") Long[] ids);

    List<DanmoCollectShellfish> selectDanmoCollectShellfishListMy(DanmoCollectShellfish danmoCollectShellfish);

    void updateDanmoCollectShellfishRemoved(@Param("userId") Long userId);

    DanmoCollectShellfish selectDanmoCollectShellfishByIdAndUserId(@Param("id") Long shellfishId, @Param("userId") Long userid);

    DanmoCollectShellfish selectDanmoCollectShellfish(Long id);
}
